package cn.zhangxh.base.mapper;


import cn.zhangxh.base.query.BaseQuery;
import cn.zhangxh.org.domain.Employee;

import java.util.List;

/**
 * @param :
 * @Author zxh
 * @Date: 2022/1/24$ 14:47$
 * @Version 1.0
 * @return :
 * @Description: BaseMapper$
 */
public interface BaseMapper<T> {
    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 新增方法
     */
    void save(T t);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 更新方法
     */
    void update(T t);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 删除方法
     */
    void delete(Long id);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 通过id查询一个
     */
    T queryById(long id);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 查询所有
     */
    List<T> queryAll();

    /**
     * @Date: 2022/1/18 14:11
     * @param :
     * @return :
     * @Description: 用于高级查询和分页  计算总条数
     * 查询条数,
     */
    long count(BaseQuery query);
    List<T> queryDate(BaseQuery query);
}
